/*
 * Copyright 2016. chenshufei
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package sz.szsmk.citizencard.retrofitrxjava;

import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
import rx.Observable;
import sz.szsmk.citizencard.model.network.BaseRes;
import sz.szsmk.citizencard.model.network.bean.UpdataVersionReq;
import sz.szsmk.citizencard.model.network.bean.request.*;
import sz.szsmk.citizencard.model.network.bean.response.AccountExistRes;
import sz.szsmk.citizencard.model.network.bean.response.AccumPointRes;
import sz.szsmk.citizencard.model.network.bean.response.AdvertisementsRes;
import sz.szsmk.citizencard.model.network.bean.response.AliUserInfoBean;
import sz.szsmk.citizencard.model.network.bean.response.AuthorBean;
import sz.szsmk.citizencard.model.network.bean.response.BaseBean;
import sz.szsmk.citizencard.model.network.bean.response.BindThirdRes;
import sz.szsmk.citizencard.model.network.bean.response.CakeBalanceBeanRes;
import sz.szsmk.citizencard.model.network.bean.response.CakeQRBeanRes;
import sz.szsmk.citizencard.model.network.bean.response.CalendarSignInRes;
import sz.szsmk.citizencard.model.network.bean.response.CardnoAuthorizationRes;
import sz.szsmk.citizencard.model.network.bean.response.CheckAcardRes;
import sz.szsmk.citizencard.model.network.bean.response.CheckBankCodeRes;
import sz.szsmk.citizencard.model.network.bean.response.CheckIsChargeRes;
import sz.szsmk.citizencard.model.network.bean.response.CheckSmsReponse;
import sz.szsmk.citizencard.model.network.bean.response.CheckThirdAppRes;
import sz.szsmk.citizencard.model.network.bean.response.CheckThirdAppUserRes;
import sz.szsmk.citizencard.model.network.bean.response.CheckUserByMobileRes;
import sz.szsmk.citizencard.model.network.bean.response.CheckUserEcityRes;
import sz.szsmk.citizencard.model.network.bean.response.CheckVirCakeBeanRes;
import sz.szsmk.citizencard.model.network.bean.response.CollecQueryRes;
import sz.szsmk.citizencard.model.network.bean.response.FirstSearchUserLevelRes;
import sz.szsmk.citizencard.model.network.bean.response.GestureValidBean;
import sz.szsmk.citizencard.model.network.bean.response.GetCodeResponse;
import sz.szsmk.citizencard.model.network.bean.response.GetOrderOpenidRes;
import sz.szsmk.citizencard.model.network.bean.response.GetResourceReq;
import sz.szsmk.citizencard.model.network.bean.response.GetTokenRes;
import sz.szsmk.citizencard.model.network.bean.response.GetUrlRes;
import sz.szsmk.citizencard.model.network.bean.response.GetUserBindCardRes;
import sz.szsmk.citizencard.model.network.bean.response.HomeAllfunResponse;
import sz.szsmk.citizencard.model.network.bean.response.HomeHeadFuncResponse;
import sz.szsmk.citizencard.model.network.bean.response.HomeWeathRes;
import sz.szsmk.citizencard.model.network.bean.response.HomeWhxfRes;
import sz.szsmk.citizencard.model.network.bean.response.HotRes;
import sz.szsmk.citizencard.model.network.bean.response.IUserInfo;
import sz.szsmk.citizencard.model.network.bean.response.IbaseBean;
import sz.szsmk.citizencard.model.network.bean.response.ImgCodeRes;
import sz.szsmk.citizencard.model.network.bean.response.ModifyNickNameReq;
import sz.szsmk.citizencard.model.network.bean.response.NoticeDetailRes;
import sz.szsmk.citizencard.model.network.bean.response.NoticeListRes;
import sz.szsmk.citizencard.model.network.bean.response.NoticeMainres;
import sz.szsmk.citizencard.model.network.bean.response.OauthTokenRes;
import sz.szsmk.citizencard.model.network.bean.response.OneWordRes;
import sz.szsmk.citizencard.model.network.bean.response.PowerCheckOrderRes;
import sz.szsmk.citizencard.model.network.bean.response.PowerGetMac2Res;
import sz.szsmk.citizencard.model.network.bean.response.PowerRechargeRes;
import sz.szsmk.citizencard.model.network.bean.response.PrepayResponse;
import sz.szsmk.citizencard.model.network.bean.response.ProtocolsRes;
import sz.szsmk.citizencard.model.network.bean.response.ProtocolsShowRes;
import sz.szsmk.citizencard.model.network.bean.response.QRCodeBean;
import sz.szsmk.citizencard.model.network.bean.response.QuerLeisureCardsInfoRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryAdressResponse;
import sz.szsmk.citizencard.model.network.bean.response.QueryAllCardFuncRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryAllFunctionNewRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryBusLineNearbyRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryBusRouteRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryCardAccInfoRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryCitizenCardRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryDonationRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryInterductionAreaRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryInvoiceOpensRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryMainAdRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryMainPageFunctionRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryMetroExitInfoRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryNearMetroStandbyRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryNearStandbyRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryNgFinanceRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryOrderCountRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryPageResourceRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryStandLinesRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryUserBindCardRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryUserCardRes;
import sz.szsmk.citizencard.model.network.bean.response.QueryUserCardResponse;
import sz.szsmk.citizencard.model.network.bean.response.QuestionRes;
import sz.szsmk.citizencard.model.network.bean.response.RecommendRes;
import sz.szsmk.citizencard.model.network.bean.response.SearchViewResponse;
import sz.szsmk.citizencard.model.network.bean.response.SeleciUserAuthRes;
import sz.szsmk.citizencard.model.network.bean.response.ShopListRes;
import sz.szsmk.citizencard.model.network.bean.response.SignInRes;
import sz.szsmk.citizencard.model.network.bean.response.SimpleRes;
import sz.szsmk.citizencard.model.network.bean.response.SttAuthResponse;
import sz.szsmk.citizencard.model.network.bean.response.SuggestMsgRes;
import sz.szsmk.citizencard.model.network.bean.response.TagConfigRes;
import sz.szsmk.citizencard.model.network.bean.response.ThirdAppLoginRes;
import sz.szsmk.citizencard.model.network.bean.response.TransLogRes;
import sz.szsmk.citizencard.model.network.bean.response.UpdataVersionRes;
import sz.szsmk.citizencard.model.network.bean.response.UserBean;
import sz.szsmk.citizencard.model.network.bean.response.UserCardFavResponse;
import sz.szsmk.citizencard.model.network.bean.response.UserInfoRes;
import sz.szsmk.citizencard.model.network.bean.response.ValidCardAuthorizationRes;
import sz.szsmk.citizencard.model.network.bean.response.VerifyBindNgUserRes;
import sz.szsmk.citizencard.model.network.bean.response.WeathDetailRes;
import sz.szsmk.citizencard.model.network.bean.response.WebsiteInfoRes;
import sz.szsmk.citizencard.model.network.bean.response.YXCRes;
import sz.szsmk.citizencard.model.network.bean.response.YzanResponse;
import sz.szsmk.citizencard.model.network.clarkbean.response.AreaInfoResponse;
import sz.szsmk.citizencard.model.network.dzbean.req.BaseRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.BillRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.ChangeBankCardRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.CheckBankCardRequset;
import sz.szsmk.citizencard.model.network.dzbean.req.CheckPwdRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.CommonRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.DzsmkAgreementReq;
import sz.szsmk.citizencard.model.network.dzbean.req.GetBankNameRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.GetCheckCodeCcbReq;
import sz.szsmk.citizencard.model.network.dzbean.req.GetCheckCodeRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.GetOpenIdReq;
import sz.szsmk.citizencard.model.network.dzbean.req.ModifyPwdRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.MoneyRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.OldUserCheckRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.PreAuthRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.PreAuthThiedReq;
import sz.szsmk.citizencard.model.network.dzbean.req.PreAuthThirdRes;
import sz.szsmk.citizencard.model.network.dzbean.req.QrCodeNumberRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.QueryDzsmkAgreementReq;
import sz.szsmk.citizencard.model.network.dzbean.req.RealNameAuthenticationRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.SetPayPwdRequest;
import sz.szsmk.citizencard.model.network.dzbean.req.UserInfoUpdateRequest;
import sz.szsmk.citizencard.model.network.dzbean.res.BillResponse;
import sz.szsmk.citizencard.model.network.dzbean.res.CheckIsRealName2Res;
import sz.szsmk.citizencard.model.network.dzbean.res.CheckIsRealNameRes;
import sz.szsmk.citizencard.model.network.dzbean.res.CheckPsdRes;
import sz.szsmk.citizencard.model.network.dzbean.res.FaqResponse;
import sz.szsmk.citizencard.model.network.dzbean.res.GetBalanceResponse;
import sz.szsmk.citizencard.model.network.dzbean.res.GetBankNameRes;
import sz.szsmk.citizencard.model.network.dzbean.res.GetJobRes;
import sz.szsmk.citizencard.model.network.dzbean.res.GetMyBankResponse;
import sz.szsmk.citizencard.model.network.dzbean.res.GetOpenIdRes;
import sz.szsmk.citizencard.model.network.dzbean.res.GetPeopleRes;
import sz.szsmk.citizencard.model.network.dzbean.res.GetUserInfoRes;
import sz.szsmk.citizencard.model.network.dzbean.res.OldCardRes;
import sz.szsmk.citizencard.model.network.dzbean.res.PreAuthRes;
import sz.szsmk.citizencard.model.network.dzbean.res.QrNumberResponse;
import sz.szsmk.citizencard.model.network.dzbean.res.QueryDzsmkAgreeMentRes;
import sz.szsmk.citizencard.model.network.dzbean.res.RealNameResponse;
import sz.szsmk.citizencard.model.network.dzbean.res.SupportBankResponse;
import sz.szsmk.citizencard.model.network.dzbean.res.SysResponse;
import sz.szsmk.citizencard.mvp.presenter.APPHomePresenter;
import sz.szsmk.citizencard.model.network.bean.response.CouponListBean;

/**
 * <br /> author: chenshufei
 * <br /> date: 16/1/6
 * <br /> email: chenshufei2@sina.com
 */
public interface HttpApi {


    @POST("app/uums/checkUserByMobile")
    Observable<BaseRes<String>> checkUser(@Query("mobile") String phone, @Query("device_id") String device_id);


    /*============换一种方法===========*/
    @POST("app/uums/getSms")
    Observable<BaseBean> getCode(@Query("channel_id") String channel_id, @Query("device_id") String device_id, @Query("mobile") String mobile, @Query("type_id") String type_id);

    /*@POST("register")
    Observable<RegisterResponse> register(@Query("device_id") String device_id, @Query("mobile") String mobile,@Query("sms_code") String sms_code);
*/

    /**
     * 用户注册
     *
     * @param registerRequest
     * @return
     */
    @POST("app/uums/register")
    Observable<UserBean> register(@Body RegisterRequest registerRequest);

    /**
     * 获取验证码
     *
     * @param registerRequest
     * @return
     */
    @POST("app/uums/getSms")
    Observable<BaseBean> getSms(@Body GetCodeRequest registerRequest);

    /**
     * 获取验证码
     *
     * @param registerRequest
     * @return
     */
    @POST("app/uums/updateUserPhone")
    Observable<BaseBean> updateUserPhone(@Body GetCodeRequest registerRequest);

    /**
     * 校验验证码
     *
     * @param registerRequest
     * @return
     */
    @POST("app/uums/checkSms")
    Observable<IbaseBean> checkSms(@Body CheckCodeRequest registerRequest);

    /**
     * 检查用户是否存在
     *
     * @param checkUserRequest
     * @return
     */
    @POST("app/uums/checkUserByMobile")
    Observable<CheckUserByMobileRes> checkUserByMobile(@Body CheckUserRequest checkUserRequest);

    /**
     * 第三方通过手机号码校验用户是否存在
     *
     * @param checkUserRequest
     * @return
     */
    @POST("app/uums/checkThirdAppMobile")
    Observable<CheckThirdAppRes> checkThirdAppMobile(@Body CheckThirdAppReq checkUserRequest);

    /**
     * 修改卡昵称
     *
     * @param checkUserRequest
     * @return
     */
    @POST("app/uums/modifyCardNickName")
    Observable<BaseBean> modifyCardNickName(@Body ModifyNickNameReq checkUserRequest);


    /**
     *
     * @param phone
     * @param device_id
     * @return 沈照公交接口
     */

    /**
     * 查询附近公交线路
     *
     * @param queryBusLineNearbyReq
     * @return
     */
    @POST("app/bus/queryBusLineNearby")
    Observable<QueryBusLineNearbyRes> queryBusLineNearby(@Body QueryBusLineNearbyReq queryBusLineNearbyReq);

    /**
     * 查询地铁站点详情
     *
     * @param
     * @return
     */
    @POST("app/bus/queryMetroExitInfo")
    Observable<QueryMetroExitInfoRes> queryMetroExitInfo(@Body QueryMetroExitInfoReq queryMetroExitInfoReq);

    /**
     * 查询收藏线路
     *
     * @param
     * @return
     */
    @POST("app/bus/queryCollectedBusLine")
    Observable<QueryBusLineNearbyRes> queryCollectedBusLine(@Body QueryCollectedBusLineReq queryBusLineNearbyReq);


    /**
     * 关键字搜索公交线路
     *
     * @param
     * @return
     */
    @POST("app/bus/queryLineByLineName")
    Observable<QueryBusLineNearbyRes> queryLineByLineName(@Body QueryLineByLineNameReq queryBusLineNearbyReq);


    /**
     * 公交路线轨迹查询
     *
     * @param
     * @return
     */
    @POST("app/bus/queryBusRoute")
    Observable<QueryBusRouteRes> queryBusRoute(@Body QueryBusRouteReq queryBusRouteReq);

    /**
     * 公交线路添加收藏
     *
     * @param
     * @return
     */
    @POST("app/bus/CollectedBusLine")
    Observable<BaseBean> collectedBusLine(@Body CollectedBusLineReq queryBusRouteReq);


    /**
     * 公交线路取消收藏
     *
     * @param
     * @return
     */
    @POST("app/bus/cancelCollectedBusLine")
    Observable<BaseBean> cancelCollectedBusLine(@Body CollectedBusLineReq queryBusRouteReq);


    /**
     * 仿真电子站牌信息
     *
     * @param
     * @return
     */
    @POST("app/bus/queryStandLines")
    Observable<QueryStandLinesRes> queryStandLines(@Body QueryStandLinesReq queryBusRouteReq);



    /* ---------------------------------------------------------------*/

    /**
     * 张静接口
     */



    /**
     * 获取捐款信息
     *
     * @param
     * @return
     */
    @POST("app/tour/quryUserCommonweal")
    Observable<QueryDonationRes> quryCommonwealInfor(@Body AccessTokenRequest accessTokenRequest);

    /**
     * 用户应用授权
     *
     * @param
     * @return
     */
    @POST("app/tour/cardnoAuthorization")
    Observable<CardnoAuthorizationRes> cardnoAuthorization(@Body CardnoAuthorizationReq accessTokenRequest);


    /**
     * 第三方登录解绑
     *
     * @param
     * @return
     */
    @POST("app/uums/unBindThirdAppUser")
    Observable<BaseBean> unBindThirdAppUser(@Body UnbindReq accessTokenRequest);


    /**
     * 查询用户所有卡信息
     *
     * @param
     * @return
     */
    @POST("app/eWallect/quryAllCards")
    Observable<BaseBean> quryAllCards(@Body QueryAllCardsReq accessTokenRequest);


    /**
     * 查询卡号是否授权
     *
     * @param
     * @return
     */
    @POST("/app/tour/validCardAuthorization")
    Observable<ValidCardAuthorizationRes> validCardAuthorization(@Body IBaseRequest iBaseRequest);


    /**
     * 查询用户所有有效休闲年卡信息
     *
     * @param
     * @return
     */
    @POST("app/tour/quryLeisureCardsNew")
    Observable<QuerLeisureCardsInfoRes> quryLeisureCards(@Body QueryAllCardsReq accessTokenRequest);


    /**
     * 验证用户是否开通电子市民卡
     *
     * @param
     * @return
     */
    @POST("app/uums/checkUserEcity")
    Observable<CheckUserEcityRes> checkUserEcity(@Body AccessTokenRequest accessTokenRequest);

    /**
     * 查询用户有无A卡
     *
     * @param
     * @return
     */
    @POST("app/eWallect/qurACard")
    Observable<CheckAcardRes> qurACard(@Body QueryAllCardsReq accessTokenRequest);

    /**
     * 查询用户有无A卡
     *
     * @param
     * @return
     */
    @POST("app/config/queryInterductionArea")
    Observable<QueryInterductionAreaRes> queryInterductionArea(@Body GetResourceReq accessTokenRequest);


    /**
     * 陈矗接口
     */

    /**
     * 查询首页资源
     *
     * @param
     * @return
     */
    @POST("app/config/queryMainPageFunction")
    Observable<QueryMainPageFunctionRes> queryMainPageFunction(@Body AccessTokenRequest accessTokenRequest);
//-------------------------------------------------------------

    /*马冬冬*/


    /**
     * 查询认证信息
     *
     * @param accessTokenRequest
     * @return
     */
    @POST("app/uums/selectUserAuth")
    Observable<SeleciUserAuthRes> selectUserAuth(@Body AccessTokenRequest accessTokenRequest);

    /**
     * 查询认证信息
     *
     * @param accessTokenRequest
     * @return
     */
    @POST("app//uums/authUser")
    Observable<BaseBean> authUser(@Body AuthUserReq accessTokenRequest);

//    -----------------------------------------------------------------------

    /**
     * 丁旭
     */

    /**
     * 查询首页资源
     *
     * @param
     * @return
     */
    @POST("app/uums/queryCitizenCard")
    Observable<QueryCitizenCardRes> queryCitizenCard(@Body QueryCitizenCardReq queryCitizenCardReq);
    /*-------------------------------------------------*/

    /*张旺*/

    /**
     * 查询首页资源
     *
     * @param
     * @return
     */
    @POST("app/search/simple")
    Observable<SimpleRes> simple(@Body SimpleReq queryCitizenCardReq);



    /**
     * 常见问题
     *
     * @param
     * @return
     */
    @POST("app/config/queryQA")
    Observable<QuestionRes> queryQA(@Body QuestionReq questionReq);

    /**
     * 交易记录
     *
     * @param
     * @return
     */
    @POST("app/eWallect/queryTransRecords")
    Observable<TransLogRes> queryTransRecords(@Body TransLogReq transLogReq);

    /**
     * 获取交易账户类型
     *
     * @param
     * @return
     */
    @POST("app/eWallect/queryCardAcctInfo")
    Observable<QueryCardAccInfoRes> queryCardAcctInfo(@Body TransLogReq transLogReq);

    /**
     * 设置用户登录密码
     *
     * @param setPsdRequest
     * @return
     */
    @POST("app/uums/forgetPassWord2")
    Observable<IbaseBean> setUserPad(@Body SetPsdRequest setPsdRequest);

    /**
     * 各个订单状态数量
     *
     * @param accessTokenRequest
     * @return
     */
    @POST("app/tour/queryOrderCount")
    Observable<QueryOrderCountRes> queryOrderCount(@Body AccessTokenRequest accessTokenRequest);


    /**
     * 各个订单状态数量
     *
     * @param accessTokenRequest
     * @return
     */
    @POST("app/uums/faceRecognition")
    Observable<BaseBean> faceRecognition(@Body FaceRecognitionReq accessTokenRequest);


    /**
     * 校验第三方用户是否存在
     *
     * @param
     * @return
     */
    @POST("app/uums/checkThirdAppUser")
    Observable<CheckThirdAppUserRes> checkThirdAppUser(@Body CheckThirdAppUserReq checkThirdAppUserReq);

    /**
     * 第三方账号登录
     *
     * @param
     * @return
     */
    @POST("app/uums/thirdAppLogin")
    Observable<ThirdAppLoginRes> thirdAppLogin(@Body ThirdAppLoginReq thirdAppLoginReq);


    /**
     * 获取第三方绑定列表
     *
     * @param
     * @return
     */
    @POST("app/uums/getBindThirdApp")
    Observable<BindThirdRes> getBindThirdApp(@Body BindThirdReq thirdAppLoginReq);


    /**
     * 支付宝获取用户私钥
     *
     * @param
     * @return
     */
    @POST("app/uums/oauthToken")
    Observable<OauthTokenRes> oauthToken(@Body IBaseRequest thirdAppLoginReq);

    /**
     * 蓝牙支付宝查看是否有补登订单
     *
     * @param
     * @return
     */
    @POST("app/supply/termAllVerify")
    Observable<PowerCheckOrderRes> termAllVerify(@Body PowerCheckOrderReq powerCheckOrderReq);

    @POST("uas/gateway/v1/metroagreement")
    Observable<SttAuthResponse> sttAuth(@Body SttAuthRequest sttAuthRequest);
    /**
     * 蓝牙充电宝充值
     *
     * @param
     * @return
     */
    @POST("app/supply/prepayOrder")
    Observable<PowerRechargeRes> bluetoothOrder(@Body PowerRechargeReq powerRechargeReq);

    /**
     * 蓝牙充电宝获取Mac2
     *
     * @param
     * @return
     */
    @POST("app/supply/termTopupMac2")
    Observable<PowerGetMac2Res> termTopupMac2(@Body PowerGetMac2Req powerRechargeReq);

    /**
     * 沈照
     */

    /**
     * @param powerRechargeReq
     * @return 站点信息查询
     */
    @POST("app/bus/querySiteInfo")
    Observable<PowerGetMac2Res> querySiteInfo(@Body PowerGetMac2Req powerRechargeReq);

    /**
     * @param collectStandReq
     * @return 站点收藏
     */
    @POST("app/bus/collectStand")
    Observable<BaseBean> collectStand(@Body CollectStandReq collectStandReq);

    /**
     * @param collectStandReq
     * @return 站点收藏
     */
    @POST("app/bus/cancelCollectStand")
    Observable<BaseBean> cancelCollectStand(@Body CollectStandReq collectStandReq);

    /**
     * @param queryNearStandbyReq
     * @return 附近公交站点搜索
     */
    @POST("app/bus/queryNearStandby")
    Observable<QueryNearStandbyRes> queryNearStandby(@Body QueryNearStandbyReq queryNearStandbyReq);

    /**
     * @param queryNearStandbyReq
     * @return 附近地铁站点搜索
     * http://smkapptest2020.szsmk.com/bus/queryNearbyMetroSite
     */
    @POST("app/bus/queryNearbyMetroSite")
    Observable<QueryNearMetroStandbyRes> queryNearMetroStandby(@Body QueryNearStandbyReq queryNearStandbyReq);

    /**
     * @param queryCollectedStandreq
     * @return 查询收藏的站点
     */
    @POST("app/bus/queryCollectedStand")
    Observable<QueryNearStandbyRes> queryCollectedStand(@Body QueryCollectedStandreq queryCollectedStandreq);


    /**
     * @param queryBusStandBykeyReq
     * @return 公交站点关键字搜索
     */
    @POST("app/bus/queryBusStandByKey")
    Observable<QueryNearStandbyRes> queryBusStandByKey(@Body QueryBusStandBykeyReq queryBusStandBykeyReq);


    /**
     * 用户密码登录
     *
     * @param loginRequest
     * @return
     */
    @POST("app/uums/loginByPassWordEncry")
    Observable<UserBean> login(@Body LoginRequest loginRequest);

    /**
     * 授权第三方登录
     *
     * @param authorRequest
     * @return
     */
    @POST("uas/gateway/v1/SDKUser")
    Observable<AuthorBean> author(@Body AuthorRequest authorRequest);

    /**
     * 获取用户信息
     *
     * @param
     * @return
     */
    @POST("app/uums/getUserInfo")
    Observable<IUserInfo> getUserInfoZhsz(@Body IBaseRequest getUserInfoReq);

    /**
     * 版本更新
     *
     * @param
     * @return
     */
    @POST("app/config/getAppVersion")
    Observable<UpdataVersionRes> getAppVersion(@Body UpdataVersionReq updataVersionReq);

    /**
     * 电子市民卡获取openid
     *
     * @param
     * @return
     */
    @POST("app/uums/getOpenId")
    Observable<GetOpenIdRes> getOpenId(@Body GetOpenIdReq getOpenIdReq);

    /**
     * access_token失效后重新获取token
     *
     * @param
     * @return
     */
    @POST("app/uums/getToken")
    Observable<GetTokenRes> getToken(@Body GetTokenReq getTokenReq);

    /**
     * 获取所有应用
     *
     * @param baseRequest
     * @return
     */
    @POST("app/config/queryAllFunc")
    Observable<HomeAllfunResponse> queryAllFunc(@Body IBaseRequest baseRequest);

    /**
     * 获取头部应用
     *
     * @param baseRequest
     * @return
     */
    @POST("app/config/queryHeadFunc")
    Observable<HomeHeadFuncResponse> queryHeadFunc(@Body IBaseRequest baseRequest);

    /**
     * 百度push初始化
     *
     * @return
     */
    @POST("app/push/device/add")
    Observable<BaseBean> addPush(@Body PushReq pushReq);

    /**
     * 绑定第三方
     *
     * @return
     */
    @POST("app/uums/userBindthirdApp")
    Observable<BaseBean> userBindthirdApp(@Body BindMyThirdReq bindMyThirdReq);

    /**
     * 首页一句话广告
     *
     * @param baseRequest
     * @return
     */
    @POST("app/config/queryOneWordAd")
    Observable<OneWordRes> queryOneWordAd(@Body IBaseRequest baseRequest);

    /**
     * 首页一句话广告
     *
     * @param baseRequest
     * @return
     */
    @POST("app/appUpdate")
    Observable<APPHomePresenter.CheckRes> getIsChecked(@Body APPHomePresenter.CheckRequest baseRequest);
    /**
     * 用户点击事件
     *
     * @param recordUserFuncRequest
     * @return
     */
    @POST("app/config/recordUserFunc")
    Observable<OneWordRes> recordUserFunction(@Body RecordUserFunctionReq recordUserFuncRequest);

    /**
     * 获取首页广告数据
     *
     * @param baseRequest
     * @return
     */
    @POST("app/config/queryPageResource")
    Observable<QueryPageResourceRes> queryPageResource(@Body QueryPageResourceReq baseRequest);

    /**
     * 欢迎页面广告
     *
     * @param baseRequest
     * @return
     */
    @POST("app/config/queryMainAd")
    Observable<QueryMainAdRes> queryMainAd(@Body IBaseRequest baseRequest);

    @POST("app/config/queryPageAd")
    Observable<IbaseBean> queryPageAd(@Body QueryPageAdRequest queryPageAdRequest);

    @POST("app/config/recordUserFunc")
    Observable<IbaseBean> recordUserFunc(@Body RecordUserFuncRequest recordUserFuncRequest);

    @POST("app/mall/youzan/user/login")
    Observable<YzanResponse> loginYzan(@Body YzanRequest yzanRequest);

    @POST("youzan/account/init")
    Observable<YzanResponse> unLoginYzan();

    /**
     * 请求云闪充服务网点列表
     *
     * @param prepayWebRequest
     * @return
     */
    @POST("app/supply/prepayWebsiteList")
    Observable<PrepayResponse> prepayWebsiteList(@Body PrepayWebRequest prepayWebRequest);

    /**
     * 请求服务网点列表
     *
     * @param prepayWebRequest
     * @return
     */
    @POST("app/supply/websiteList")
    Observable<PrepayResponse> websiteList(@Body ServiceNetReq prepayWebRequest);

    /**
     * 添加网点收藏
     *
     * @param
     * @return
     */
    @POST("app/uums/collection/add")
    Observable<BaseBean> addCollection(@Body CollecAddReq collecAddReq);

    /**
     * 删除网点收藏
     *
     * @param
     * @return
     */
    @POST("app/uums/collection/delete")
    Observable<BaseBean> deleteCollection(@Body CollecAddReq collecAddReq);

    /**
     * 查询景点酒店
     *
     * @param searchViewRequest
     * @return
     */
    @POST("app/tour/leisure/searchSpotAndHotelByKeyword")
    Observable<SearchViewResponse> searchSpotAndHotelByKeyword(@Body SearchViewRequest searchViewRequest);

    /**
     * 查询地址列表
     *
     * @param queryAdressRequest
     * @return
     */
    @POST("app/uums/address/query")
    Observable<QueryAdressResponse> queryAdress(@Body AccessTokenRequest queryAdressRequest);

    /**
     * 新增地址
     *
     * @param addAddressRequest
     * @return
     */
    @POST("app/uums/address/add")
    Observable<IbaseBean> addAdress(@Body AddAddressRequest addAddressRequest);

    /**
     * 删除地址
     *
     * @param
     * @return
     */
    @POST("app/uums/address/delete")
    Observable<IbaseBean> delAdress(@Body DelAdressRequest delAdressRequest);

    /**
     * 删除地址
     *
     * @param
     * @return
     */
    @POST("app/uums/address/update")
    Observable<IbaseBean> updataAdress(@Body UpdataAdressRequest updataAdressRequest);


    /**
     * 首页绑定卡号
     *
     * @param
     * @return
     */
    @POST("app/uums/bindCard")
    Observable<IbaseBean> bindCard(@Body BindCardRequest bindCardRequest);


    /**
     * 卡片详情删除卡号
     *
     * @param
     * @return
     */
    @POST("app/uums/unBindCard")
    Observable<IbaseBean> unBindCard(@Body UnbindCardReq unbindCardReq);


    /**
     * 我的首页收藏卡号
     *
     * @param
     * @return
     */
    @POST("app/uums/queryUserCardFav")
    Observable<UserCardFavResponse> queryUserCardFav(@Body AccessTokenRequest accessTokenRequest);

    /**
     * 我的获取用户卡信息列表
     *
     * @param
     * @return
     */
    @POST("app/uums/queryUserCard")
    Observable<QueryUserCardResponse> queryUserCard(@Body QueryUserCardRequest queryUserCardRequest);

    /**
     * 我的获取用户卡信息列表   new
     *
     * @param
     * @return
     */
    @POST("app/uums/queryUserCardInfo")
    Observable<QueryUserCardRes> queryUserCardInfo(@Body QueryUserCardRequest queryUserCardRequest);

    /**
     * 专有账户认证
     *
     * @param
     * @return
     */
    @POST("app/uums/verifySpecialAccount")
    Observable<BaseBean> verifySpecialAccount(@Body SpecialAuthReq queryUserCardRequest);

    /**
     * 获取用户绑定卡列表
     *
     * @param
     * @return
     */
    @POST("app/uums/getUserBindCard")
    Observable<GetUserBindCardRes> getUserBindCard(@Body AccessTokenRequest accessTokenRequest);

    /**
     * 添加用户套餐收藏
     *
     * @param
     * @return
     */
    @POST("app/uums/addUserCardFav")
    Observable<IbaseBean> addUserCardFav(@Body AddUserCardFavReq addUserCardFavReq);

    /**
     * 服务网点详情
     *
     * @param
     * @return
     */
    @POST("app/supply/websiteInfo")
    Observable<WebsiteInfoRes> websiteInfo(@Body WebsiteInfoReq websiteInfoReq);

    /**
     * 消费商家列表
     *
     * @param
     * @return
     */
    @POST("app/supply/shopList")
    Observable<ShopListRes> shopList(@Body ShopListReq shopListReq);

    /**
     * 消费商家搜索
     *
     * @param
     * @return
     */
    @POST("app/supply/shopSearch")
    Observable<ShopListRes> shopSearch(@Body ServiceSearchReq serviceSearchReq);

    /**
     * 服务网点详情
     *
     * @param
     * @return
     */
    @POST("app/uums/collection/query")
    Observable<CollecQueryRes> queryCollect(@Body CollecQueryReq accessTokenRequest);

    /**
     * 查询用户收藏城市列表
     *
     * @param
     * @return
     */
    @POST("app/config/queryUserCollectCity")
    Observable<BaseBean> queryUserCollectCity(@Body AccessTokenRequest accessTokenRequest);


    /**
     * 服务网点搜索
     *
     * @param
     * @return
     */
    @POST("app/supply/websiteSearch")
    Observable<PrepayResponse> serviceSearch(@Body ServiceSearchReq accessTokenRequest);

    /**
     * 查询天气预报
     *
     * @param
     * @return
     */
    @POST("app/third/weather/detailed")
    Observable<WeathDetailRes> getWeathFore(@Body WeathDetailReq weathDetailReq);

    /**
     * 查询首页即时天气
     *
     * @param
     * @return
     */
    @POST("app/third/weather/general")
    Observable<HomeWeathRes> getWeathGeneral(@Body HomeWeathReq weathReq);

    /**
     * 查询首页即时天气
     *
     * @param
     * @return
     */
    @POST("app/third/Culture/getUserDetails")
    Observable<HomeWhxfRes> getUserDetails(@Body AccessTokenRequest accessTokenRequest);


    /**
     * 未读消息标记为已读
     *
     * @param
     * @return
     */
    @POST("app/third/message/changesIsRead")
    Observable<BaseBean> changesIsRead(@Body ChangeIsReadReq changeIsReadReq);


    /**
     * 提交意见 没有图片
     *
     * @param
     * @return
     */
    @POST("app/config/submitUserFeedbackNoPic")
    Observable<BaseBean> submitUserFeedbackNoPic(@Body SuggestReq suggestReq);

    /**
     * 获取意见回复
     *
     * @param
     * @return
     */
    @POST("app/config/queryUserFeedbackAnswer")
    Observable<SuggestMsgRes> queryUserFeedbackAnswer(@Body SuggestMsgReq suggestMsgReq);


    /**
     * 修改专有账户密码
     *
     * @param
     * @return
     */
    @POST("app/uums/updateAccPassWord")
    Observable<BaseBean> changeAcctPassword(@Body SpecialReq specialReq);

    /**
     * 查询消息首页
     *
     * @param
     * @return
     */
    @POST("app/third/message/mainPage")
    Observable<NoticeMainres> getMainNotice(@Body NoticeMainReq noticeMainReq);

    /**
     * 查询消息二级页面
     *
     * @param
     * @return
     */
    @POST("app/third/message/queryAndSearchByPage")
    Observable<NoticeListRes> getNotcieList(@Body NoticeListReq noticeListReq);

    /**
     * 查询消息详情三级页面
     *
     * @param
     * @return
     */
    @POST("app/third/message/queryDetail")
    Observable<NoticeDetailRes> getNoticeDetail(@Body NoticeDetailReq noticeDetailReq);

    /**
     * 删除消息条目
     *
     * @param
     * @return
     */
    @POST("app/third/message/deleteMessageTypeByUser")
    Observable<BaseBean> deleteMessageTypeByUser(@Body NoticeDelItemReq noticeDelItemReq);


    /**
     * 删除消息单条
     *
     * @param
     * @return
     */
    @POST("app/third/message/deleteMessageByDetailId")
    Observable<BaseBean> deleteMessageByDetailId(@Body NoticeListDelReq noticeListDelReq);


    /**
     * 体育惠民拼接接口
     *
     * @param
     * @return
     */
    @POST("uas/gateway/v1/getopenid")
    Observable<GetOrderOpenidRes> getOrderOpenid(@Body GetOrderOpenid getOrderOpenid);


    /**
     * 查询用户签订的协议
     *
     * @param
     * @return
     */
    @POST("app/uums/queryDzsmkAgreement")
    Observable<QueryDzsmkAgreeMentRes> queryDzsmkAgreement(@Body QueryDzsmkAgreementReq queryDzsmkAgreementReq);


    /**
     * 查询用户签订的协议
     *
     * @param
     * @return
     */
    @POST("app/ecity/preAuth")
    Observable<BaseBean> preAuthNew(@Body PreAuthNewReq queryDzsmkAgreementReq);


    /**
     * 重置密码
     *
     * @param
     * @return
     */
    @POST("app/uums/resetPassWord")
    Observable<IbaseBean> resetPassWord(@Body ResetPsdReq resetPsdReq);

    /**
     * 查询余额
     *
     * @param
     * @return
     */
    @POST("app/eWallect/querybalance")
    Observable<QueryBalanceRes> querybalance(@Body QueryBalanceReq balanceReq);

    /**
     * 查询余额
     *
     * @param
     * @return
     */
    @POST("app/uums/getUserBindCard")
    Observable<QueryUserBindCardRes> queryBindCard(@Body QueryUserBindCardReq queryUserBindCardReq);


    /**
     * 查询有无A卡
     *
     * @param
     * @return
     */
    @POST("app/eWallect/getACard")
    Observable<BaseBean> getACard(@Body IsAcardReq isAcardReq);


    /**
     * 查询有无A卡
     *
     * @param
     * @return
     */
    @POST("app/third/js/getUrl")
    Observable<GetUrlRes> getUrl(@Body AccessTokenRequest accessTokenRequest);


    /**
     * 政务查询我的应用
     *
     * @param
     * @return
     */
    @POST("app/config/queryAllFunctionNew")
    Observable<QueryAllFunctionNewRes> queryAllFunctionNew(@Body IBaseRequest changeUserFuncReq);


    /**
     * 政务修改我的应用
     *
     * @param
     * @return
     */
    @POST("app/config/changeUserFunc")
    Observable<BaseBean> changeUserFunc(@Body ChangeUserFuncReq iBaseRequest);


    /**
     * 推荐搜索
     *
     * @param
     * @return
     */
    @POST("app/search/recommend")
    Observable<RecommendRes> recommend(@Body RecommendReq iBaseRequest);

    /**
     * 推荐搜索
     *
     * @param
     * @return
     */
    @POST("app/search/hot")
    Observable<HotRes> hot(@Body HotReq iBaseRequest);


    /**
     * 查询用户名下所有卡功能
     *
     * @param
     * @return
     */
    @POST("app/eWallect/quryAllCardsFunction")
    Observable<QueryAllCardFuncRes> quryAllCardsFunction(@Body QueryCardFuncRequest iBaseRequest);





    /*--------------------电子市民卡-----------------*/

    @GET("testperson/login")
    Observable<BaseRes<String>> loginTest(@retrofit2.http.Query("userName") String userName, @retrofit2.http.Query("password") String password);


    //相当于登录..
    @POST("app/preAuth")
    Observable<PreAuthRes> preAuth(@Body PreAuthRequest preAuthRequest);


    //相当于登录..
    @POST("app/preAuthThird")
    Observable<PreAuthThirdRes> preAuthThird(@Body PreAuthThiedReq preAuthThiedReq);


    //获取用户信息
    @POST("app/getUserInfo")
    Observable<GetUserInfoRes> getUserInfo(@Body CommonRequest commonRequest);

    //更新用户信息
    @POST("app/updateUserInfo")
    Observable<GetCodeResponse> updateUserInfo(@Body UserInfoUpdateRequest userInfoUpdateRequest);


    @POST("app/setPayPassword")
    Observable<GetCodeResponse> setPayPassword(@Body SetPayPwdRequest setPayPwdRequest);

    //我的市民卡
    @POST("app/getMyCitizenCard")
    Observable<GetCodeResponse> getMyCitizenCard(@Body CommonRequest commonRequest);


    @POST("app/updatePayPassword")
    Observable<GetCodeResponse> updatePayPassword(@Body ModifyPwdRequest modifyPwdRequest);


    //获取二维码
    @POST("app/getQrNumber")
    Observable<QrNumberResponse> getQrNumber(@Body QrCodeNumberRequest qrCodeNumberRequest);


    //获取我的银行
    @POST("app/uums/dzsmkAgreement")
    Observable<IbaseBean> dzsmkAgreement(@Body DzsmkAgreementReq dzsmkAgreementReq);

    //获取我的银行
    @POST("app/getMyBanks")
    Observable<GetMyBankResponse> getMyBanks(@Body CommonRequest commonRequest);

    //获取支持的银行卡
    @POST("app/getSupportBankList")
    Observable<SupportBankResponse> getSupportBankList(@Body CommonRequest commonRequest);


    //电子市民卡   账单列表
    @POST("app/getTransRecords")
    Observable<BillResponse> getBillList(@Body BillRequest billRequest);

    //绑定银行卡
    @POST("app/realName2")
    Observable<RealNameResponse> realName(@Body RealNameAuthenticationRequest realNameAuthenticationRequest);


    //获取民族信息列表
    @POST("app/getPeople")
    Observable<GetPeopleRes> getPeople(@Body CommonRequest commonRequest);

    //获取民族信息列表
    @POST("app/getJob")
    Observable<GetJobRes> getJob(@Body CommonRequest commonRequest);

//
//    //获取民族信息列表
//    @POST("app/checkIsCharge")
//    Observable<GetJobRes> checkIsCharge(@Body CommonRequest commonRequest);


    @POST("app/oldUserCheck")
    Observable<OldCardRes> oldUserCheck(@Body OldUserCheckRequest oldUserCheckRequest);

    //更改银行卡
    @POST("app/changeMyBankCard")
    Observable<RealNameResponse> changeMyBankCard(@Body ChangeBankCardRequest changeBankCardRequest);

    //检查支付密码
    @POST("app/checkPayPassword")
    Observable<GetMyBankResponse> checkPayPassword(@Body CheckPwdRequest checkPwdRequest);


    //获取银行名称
    @POST("app/getBankName")
    Observable<GetBankNameRes> getBankName(@Body GetBankNameRequest getBankNameRequest);

    //获取银行名称
    @POST("app/checkPwdSetting")
    Observable<CheckPsdRes> checkPwdSetting(@Body CommonRequest getBankNameRequest);


    //短信验证码
    @POST("app/getCheckCode")
    Observable<sz.szsmk.citizencard.model.network.dzbean.res.BaseRes> getCheckCode(@Body GetCheckCodeRequest getCheckCodeRequest);


    //建设银行电子市民卡
    @POST("app/getCcbSmsCode")
    Observable<sz.szsmk.citizencard.model.network.dzbean.res.BaseRes> getCcbSmsCode(@Body GetCheckCodeCcbReq getCheckCodeCcbReq);


    //充值
    @POST("app/recharge")
    Observable<GetCodeResponse> recharge(@Body MoneyRequest moneyRequest);

    //提现
    @retrofit2.http.POST("app/returnMoney")
    Observable<BaseRes<String>> tixian(@retrofit2.http.Body MoneyRequest moneyRequest);

    //余额
    @POST("app/getNewBalance")
    Observable<GetBalanceResponse> getBalance(@Body CommonRequest commonRequest);

    //系统配置,半小时看看
    //@Headers("Cache-Control:public,max-age=1800")
    @POST("app/sysConfig")
    Observable<SysResponse> sysConfig(@Body CommonRequest commonRequest);


    //获取QA
    @POST("app/QA")
    Observable<FaqResponse> getQa(@Body CommonRequest commonRequest);

    //获取实名认证
    @POST("app/checkIsRealName")
    Observable<CheckIsRealNameRes> checkIsRealName(@Body CommonRequest commonRequest);


    //获取实名认证
    @POST("app/checkIsRealName")
    Observable<CheckIsRealName2Res> checkIsRealName2(@Body CommonRequest commonRequest);

    //获取实名认证
    //查询用户是否首次充值
    @POST("app/checkIsCharge")
    Observable<CheckIsChargeRes> checkIsCharge(@Body CommonRequest commonRequest);

    /**
     * 修改卡昵称
     *
     * @param
     * @return
     */
    @POST("app/uums/modifyCardNickName")
    Observable<IbaseBean> modifyCardNickName(@Body ModifyCardNickNameRequest modifyCardNickNameRequest);

    /**
     * 首页认证信息获取
     *
     * @param
     * @return
     */
    @POST("/app/uums/firstSearchUserLevel")
    Observable<FirstSearchUserLevelRes> firstSearchUserLevel(@Body IBaseRequest firstSearchUserLevelRequest);

    /**
     * L2级别实名认证
     *
     * @param
     * @return
     */
    @POST("/app/uums/realNameCertificationL2")
    Observable<IbaseBean> realNameCertificationL(@Body RealNameCertificationLRequest realNameCertificationLRequest);

    /**
     * 手势密码创建前验证
     *
     * @param
     * @return
     */
    @POST("/app/uums/gestureValid")
    Observable<GestureValidBean> gestureValid(@Body IBaseRequest baseRequest);

    /**
     * 创建/关闭手势密码
     *
     * @param
     * @return
     */
    @POST("/app/uums/createGesturePassword")
    Observable<IbaseBean> createGesturePassword(@Body GestureRequest gestureRequest);

    /**
     * 验证手势密码
     *
     * @param
     * @return
     */
    @POST("/app/uums/validGesturePassword")
    Observable<IbaseBean> validGesturePassword(@Body GestureRequest gestureRequest);

    /**
     * 验证手势密码
     *
     * @param
     * @return
     */
    @POST("/app/tour/getUserQRCode")
    Observable<QRCodeBean> getUserQRCode(@Body QRCodeRequest iBaseRequest);

    /*
     *   休闲年卡授权 上传能图片
     */
    @POST("/app/eWallect/updateOfflineCardPicture")
    Observable<BaseBean> upLoadPic(@Body UploadPic uploadPic);


    @POST("/app/coupon/queryCouponCount")
    Observable<CouponListBean> queryCouponCount(@Body AccessTokenRequest accessTokenRequest);


    //苏e行 授权前判断
    @POST("/app/EcheckPayPassWord")
    Observable<BaseBean> echeckPayPassWord(@Body SuEXingReq suEXingReq);


    //电子市民卡 广告接口
    @POST("/app/getAdvertisements")
    Observable<AdvertisementsRes> getAdvertisements(@Body AdvertisementsReq advertisementsReq);

    //查询是否签到
    @POST("/app/credit/checkSign")
    Observable<SignInRes> checkSign(@Body SignInReq signInReq);

    //签到
    @POST("/app/credit/getCredit")
    Observable<BaseBean> getsignIn(@Body SignInReq signInReq);

    //获取积分
    @POST("app/credit/queryUserCredit")
    Observable<SignInRes> getScore(@Body SignInReq signInReq);

//   积分列表
    @POST("/app/credit/queryUserCreditDtl")
    Observable<AccumPointRes> queryUserCreditDtl(@Body AccumPointReq accumPointReq);

    //获取日历
    @POST("/app/credit/querySignData")
    Observable<CalendarSignInRes> getCalendarSignIn(@Body AccumPointReq accumPointReq);

    //发送验证码
    @POST("app/uums/sendSmsCode")
    Observable<BaseBean> sendSmsCode(@Body LoginRequest loginRequest);

    //验证码
    @POST("app/uums/checkSmsCode")
    Observable<CheckSmsReponse> checkCheckSmsCode(@Body LoginRequest loginRequest);

    //注册  新接口
    @POST("app/uums/registerAndLogin")
    Observable<UserBean> registerAndLogin(@Body RegisterRequest registerRequest);

    //验证银行卡是否信用卡，是否正确对应发卡行
    @POST("app/checkBankNoValidation")
    Observable<CheckBankCodeRes> checkBankNoValidation(@Body CheckBankCardRequset registerRequest);

    //获取tag
    @POST("app/config/queryGHFConfig")
    Observable<TagConfigRes> getConfig(@Body IBaseRequest iBaseRequest);

    //判断是否绑定NG用户
    @POST("app/ng/verifyBindNgUser")
    Observable<VerifyBindNgUserRes> verifyBindNgUser(@Body VerifyBindNgUserReq verifyBindNgUserReq);


    //用户确认授权接口
    @POST("app/ng/toBindNgUser")
    Observable<VerifyBindNgUserRes> toBindNgUser(@Body VerifyBindNgUserReq verifyBindNgUserReq);

    //统计用户点击内容
    @POST("app/tour/userBehaviorBrowse")
    Observable<BaseBean> userBehaviorBrowse(@Body UserBehaviorBrowseReq userBehaviorBrowseReq);

    //活跃用户
    @POST("app/tour/userBehaviorActive")
    Observable<BaseBean> userBehaviorActive(@Body UserBehaviorReq userBehaviorReq);

    //云闪充
    @POST("/app/supply/prepayOrderToBeAdded")
    Observable<BaseBean> ysc(@Body YscReq yscReq);

    //是否开通 支付码
    @POST("app/cake/cakeCard/checkVirCake")
    Observable<CheckVirCakeBeanRes> getIsOpenPayCode(@Body CheckVirCakeBeanReq baseRequest);

    //获取支付码    二维码
    @POST("app/cake/cakeCard/getQrNumber")
    Observable<CakeQRBeanRes> getPayCode(@Body CakeCardBeanReq baseRequest);

    //获取余额sign
    @POST("app/cake/cakeCard/queryCakeBalance")
    Observable<CakeBalanceBeanRes> queryCakeBalance(@Body CakeCardBeanReq cakeCardBeanReq);

    //用户认证 获取阿里串
    @POST("app/uums/oauthToken2")
    Observable<OauthTokenRes> oauthToken2(@Body BaseRequest baseRequest);

    //实名认证
    @POST("app/uums/getAlipayUserInfo")
    Observable<BaseBean> getAlipayUserInfo(@Body BaseRequest baseRequest);

    //获取首页广告模块
    @POST("app/config/queryAllAdvertisement")
    Observable<AreaInfoResponse> getAreaInfo(@Body IBaseRequest baseRequest);

     //获取优惠券信息
    @POST("/app/coupon/getUserCoupons")
    Observable<CouponListBean> queryUserCoupons(@Body AccessTokenRequest accessTokenRequest);

    @POST("/app/uums/invoiceOpensQuery")
    Observable<QueryInvoiceOpensRes> queryInvoiceOpens(@Body QueryInvoiceOpensReq queryInvoiceOpensReq);

    @POST("app/ng/getNgFinanceAssets")
    Observable<QueryNgFinanceRes> queryNgFinance(@Body QueryNgFinanceReq queryNgFinanceReq);

    //根据场景 查询协议
    @POST("/app/uums/queryUserAppAgreementListBySceneNo")
    Observable<ProtocolsRes> queryProtocols(@Body ProtocolsRequest protocolsRequest);

    //查询协议是否显示
    @POST("/app/uums/isPopAgreement")
    Observable<ProtocolsShowRes> isPopAgreement(@Body ProtocolsShowReq protocolsShowRequest);

    //保存用户协议表记录
    @POST("/app/uums/addUserAppAgreementRecord")
    Observable<BaseBean> addUserAppAgreementRecord(@Body ProtocolsAgreeReq protocolsAgreeReq);

    //获取图片验证码
    @POST("/app/uums/getImgCode")
    Observable<ImgCodeRes> getImgCode(@Body ImgCodeRequest imgCodeRequest);

    //获取用户实名信息
    @POST("app/uums/getUserInfoForAPP")
    Observable<UserInfoRes> getUser(@Body CommonRequest commonRequest);

    //校验桂花分账号是否存在
    @POST("user/login/isAccountExist")
    Observable<AccountExistRes> accountExist(@Body AccountExistReq accountExistReq);
}

